using System;
using ns27;
using Triton.Game.Mono;
using log4net;

namespace Triton.Game.Mapping
{
	public static class QuestPool
	{
		public enum QuestPoolType
		{
			NONE,
			DAILY,
			WEEKLY
		}
	}

	[Attribute38("QuestManager")]
	public class QuestManager : MonoClass
	{
		public QuestManager(IntPtr address, string className)
			: base(address, className)
		{
		}

		public QuestManager(IntPtr address)
			: this(address, "QuestManager")
		{
		}

		public static QuestManager Get()
		{
			return MonoClass.smethod_15<QuestManager>(TritonHs.MainAssemblyPath,
				"Hearthstone.Progression", "QuestManager", "Get", Array.Empty<object>());
		}

		public bool HasReward()
		{
			return method_11<bool>("HasReward", Array.Empty<object>());
		}

		public QuestListDataModel CreateActiveQuestsDataModel(
			QuestPool.QuestPoolType questPoolType, bool appendTimeUntilNextQuest)
		{
			return method_15<QuestListDataModel>("CreateActiveQuestsDataModel",
			 new Class276.Enum20[2]
			{
				Class276.Enum20.ValueType,
				Class276.Enum20.Boolean,
			}, new object[2] { questPoolType, appendTimeUntilNextQuest });
		}

		public bool RerollQuest(int questId)
		{
			return method_11<bool>("RerollQuest",new object[1] { questId });
		}
	}
}
